package com.kakaxi.mybilibili.module.user.model;

import android.content.Context;
import android.graphics.Bitmap;

import com.alibaba.fastjson.JSONObject;
import com.vincestyling.netroid.Listener;

import java.util.Map;

/**
 * 登录数据层接口类
 * Created by kakaxi on 16/12/1.
 */

public interface ILoginModel {

    /** 用户id **/
    String COOKIE_NAME_USERID = "DedeUserID";
    String COOKIE_NAME_USERID_MD5 = "DedeUserID__ckMd5";
    String COOKIE_NAME_SESSDATA = "SESSDATA";
    String COOKIE_NAME_SSID = "SSID";
    String COOKIE_NAME_VER = "_ver";
    String COOKIE_NAME_CK_PV = "ck_pv";

    /**
     * 初始化登录
     *
     * @param context  上下文
     * @param listener 回调
     */
    void initLogin(Context context, Listener<String> listener);

    /**
     * 获取验证码图片
     *
     * @param listener 回调
     */
    void getCaptchaImage(Listener<Bitmap> listener);

    /**
     * 登录
     *
     * @param username   用户名
     * @param password   密码
     * @param captchaStr 验证码
     * @param listener   回调
     */
    void doLogin(String username, String password, String captchaStr, Listener<Map<String, String>> listener);

    /**
     * 获取用户信息
     *
     * @param userId   用户id
     * @param listener 回调
     */
    void getUserInfo(String userId, Listener<JSONObject> listener);

}
